The virtualization technology refers to a technology by which in a physical server physical resources are divided into multiple logical partitions through a hypervisor and respective logical partitions are isolated as independent virtual machines. Multiple virtual machines share resources of a same physical server. For an operation system and applications, there are no differences between the virtual machines and the physical server.
In a data center and a cloud computing environment, an application server, its front end and a database are typically deployed on different virtual machines, and all the virtual machines constitute a virtual system. Virtual machines in the virtual system are deployed with different software so as to form different functional nodes. For example, the front end of the application server is configured to implement service access functionality, the application server is configured to process service requests from users and the database is configured to store information relative to users and services. Due to certain dependency existing between different functional nodes, when a virtual system is deployed on a cloud computing platform, it is desired to provide a functionality of starting-up and shutting down the virtual machines in a certain order according to roles of virtual machines.
FIG. 1 is a schematic diagram of a management architecture of a virtual system in a cloud computing platform according to the prior art. As shown in FIG. 1, a virtual system manager is in charge of related life cycle management such as the establishment, modification and deletion of a virtual system, the related life cycle management includes management of virtual system information, and the virtual system manager is also in charge of updating the virtual system information into a virtual system information base; the virtual system information base is configured to record the virtual system information including related information of virtual machines in the virtual system; a virtual system controller controls the starting-up, operation and shutting down of a virtual system according to the virtual system information stored in the virtual system information base; and the virtual system is consisted of a set of virtual machines.
In an existing cloud computing platform, a process of starting-up and gracefully shutdown of a virtual system includes: a sequential number is set to each virtual machine of in the virtual system, and when starting up the virtual system, corresponding virtual machines are started up successively in ascending order in according with sequential numbers of the virtual machines and virtual machines having a same sequential number are simultaneously started up; when shutting down the virtual system, corresponding virtual machines are shut down successively in descending order in accordance with the sequential numbers of the virtual machines and virtual machines having a same sequential number are simultaneously shut down.
A traditional application server is hosted to a cloud computing platform in a way of a virtual system, and virtual machines in the virtual system serve as different functional nodes depending on service applications loaded thereon. There are different dependencies between different service applications, and starting-up of a service application needs to follow a certain order, i.e., a depended service application needs to be started up firstly, then a dependent service application can be started up. Therefore, it is desired to start up, according to a certain order, a virtual machine having service applications loaded thereon. When shutting down the virtual system, a traditional way is followed that shuts down virtual machines in a reverse order of starting-up, i.e., a dependent service application is shut down firstly, then a depended service application can be shut down. But for a large application server, dependencies between service applications are complicated, and dependencies of some service applications at their starting up may even change when the service application are to be smoothly shut down, therefore, existing mechanism cannot meet a need of a large application server.